﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Data;

namespace CityGames
{
    public class Factura
    {
        private string numPedido;
        private decimal cantEntregada;
        private DateTime fecha;
        private string dniSocio;

        static private CADFactura cadFactura = new CADFactura();

        public DateTime Fecha
        {
            get { return fecha; }
            set { fecha = value; }
        }

        public decimal CantEntrega
        {
            get { return cantEntregada; }
            set { cantEntregada = value; }
        }

        public string NumPedido
        {
            get { return numPedido; }
            set { numPedido = value; }
        }

        public string DNISocio
        {
            get { return dniSocio; }
            set { dniSocio = value; }
        }

        /*************************************************Funciones Ruben ***********************************************/

        /// <summary>
        /// Constructor por defecto de la clase Juego.
        /// Inicializa los string a "", la cantidad entregada a 0 y la fecha de Lanzamiento a una vacía.
        /// </summary
        public Factura()
        {
            try
            {
                numPedido = "";
                cantEntregada = 0;
                fecha = new DateTime( );
                dniSocio = "";
            }
            catch(Exception ex)
            {
                throw ex;
            }
        }

        /// <summary>
        /// Funcion que crea una nueva factura
        /// </summary>                
        /// <returns>
        /// Un booleano que indica si se creado correctamente la factura
        /// </returns>
        public bool NuevaFactura()
        {
            bool ok = false;
            try
            {
                ok = cadFactura.NuevaFactura(cantEntregada, fecha, dniSocio);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return ok;
        }

        /// <summary>
        /// Funcion que devuelve el numero de la ultima factura.
        /// </summary>       
        /// <returns>
        /// Un entero con el número de factura.
        /// </returns>
        public int NumeroUltimaFactura()
        {
            int num = 0;
            try
            {
                num = cadFactura.NumeroUltimaFactura();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return num;
        }

        /*************************************************Fin Funciones Ruben ***********************************************/
    }
}
